x86: fixes to LAPIC probing
authorAndrew Cooper <andrew.cooper3@citrix.com>
Thu, 19 Nov 2015 15:44:59 +0000 (16:44 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 19 Nov 2015 15:44:59 +0000 (16:44 +0100)
commit5ed662ee62b02abbd02525dc8ac0cbf2e8182e88
tree22dd8141776535c6cd72b5cae5f5446af37e4b0a
parentb9730aaae72b813f0e01124e79ccc3b25509f3d3
x86: fixes to LAPIC probing

* Fix (unsafe) assumption that X86_FEATURE_APIC resided in feature word 0.
* All 64bit processors have local APICs; drop the vendor check.
* Unconditionally probe MSR_IA32_APICBASE (safely, to fail more gracefully in
  broken situations) and avoid a redundant double rdmsr().
* Avoid repeatedly OR'ing APICBASE_ENABLE and DEFAULT_PHYS_BASE when
  attempting to reenable the LAPIC.

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/apic.c